# -*- coding: utf-8 -*-
# Created by zhangyanqi on 2018/4/19


"""
编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀，返回空字符串 ""。

示例 1:

输入: ["flower","flow","flight"]
输出: "fl"
示例 2:

输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
说明:

所有输入只包含小写字母 a-z 。
"""


class Solution:
    def longestCommonPrefix(self, strs):
        """
        :type strs: List[str]
        :rtype: str
        """
        result = ""
        if len(strs) == 0:
            return result
        standard_list = strs[0]
        length = len(standard_list)
        finish = False
        for i in range(0, length):
            if not finish:
                for l in range(1, len(strs)):
                    if len(strs[l]) < i + 1:
                        finish = True
                        break
                    if strs[l][i] != standard_list[i]:
                        finish = True
                        break
                if not finish:
                    result += standard_list[i]
            else:
                break
        return result


if __name__ == "__main__":
    s = Solution()
    get_next = s.longestCommonPrefix(["flower", "flow", "flight"])
    print(get_next)
